x86, vmx: Enable EPT (Extended PageTable) support on new Intel processors.
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 9 Apr 2008 10:30:32 +0000 (11:30 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 9 Apr 2008 10:30:32 +0000 (11:30 +0100)
commite90bc46da35791b3bcea890b64fc2eaec74f05be
tree319a58ce4fe6f5e7d9441ea1da222238cf78f051
parente5523678d7c8a9444069df7609c1f4a47f7a30f5
x86, vmx: Enable EPT (Extended PageTable) support on new Intel processors.

We use the EPT page table as P2M (guest physical to machine
mapping), removing the linear page table when EPT is used for the
domain (see the new file p2m-ept.c). We did this by adding three
operations in the p2m_domain. If VT-d is enabled, the EPT page table
will be used as the VT-d page table as well (i.e. shared).

Signed-off-by: Xin Li <xin.b.li@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Xiaohui Xin <Xiaohui.xin@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
21 files changed:
tools/libxc/xc_hvm_build.c
xen/arch/x86/domain.c
xen/arch/x86/hvm/hvm.c
xen/arch/x86/hvm/vmx/vmcs.c
xen/arch/x86/hvm/vmx/vmx.c
xen/arch/x86/mm.c
xen/arch/x86/mm/hap/Makefile
xen/arch/x86/mm/hap/p2m-ept.c [new file with mode: 0644]
xen/arch/x86/mm/p2m.c
xen/arch/x86/mm/paging.c
xen/common/domctl.c
xen/drivers/passthrough/vtd/iommu.c
xen/include/asm-x86/domain.h
xen/include/asm-x86/hvm/domain.h
xen/include/asm-x86/hvm/svm/vmcb.h
xen/include/asm-x86/hvm/vmx/vmcs.h
xen/include/asm-x86/hvm/vmx/vmx.h
xen/include/asm-x86/p2m.h
xen/include/asm-x86/paging.h
xen/include/public/hvm/params.h
xen/include/xen/hypercall.h